// https://www.vitejs.net/guide/env-and-mode.html
const path = require('path')
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import styleImport from 'vite-plugin-style-import'
import viteCompression from 'vite-plugin-compression'
// import viteImagemin from 'vite-plugin-imagemin'

export default defineConfig({	
	plugins: [
		vue(),
		styleImport({
			libs: [
				{
					libraryName: 'vant',
					esModule: true,
					resolveStyle: (name) => `vant/es/${name}/style`,
				}
			]
		}),
		viteCompression(),
		// viteImagemin()
	],
	/**
	 * 在生产中服务的基本公共路径
	 * @default '/'
	 */
	// base: '/',
	base: './',
	/**
	 * 编译输出路径
	 */
	outDir: 'mobile',
	// 是否浏览器自动打开
	open: true,
	//是否开启https
	https: false,
	// 服务端渲染
	ssr: false,
	// 引入第三方的配置
	optimizeDeps: {
		// include: ["moment", "echarts", "axios", "mockjs"]
	},
	resolve: {
		// 路径别名
		alias: {
			'@': path.join(__dirname, 'src')
		},
	},
	server:{
    proxy:{
			//那么axios的url，可以配置为 /api/a/a
      '/api': {
        target: 'http://localhost:8080/RDSYSEDUV8-8.5.0/mobileTerminal/',
        // target: 'http://localhost:8086/test/',
				// http://localhost:8099/RDSYSEDUV8-8.5.0/mobileTerminal/
        changeOrigin: true, // 允许跨域
        rewrite: (path) => path.replace(/^\/api/, '')
      }
    },
		port: 9090,
		host: '0.0.0.0'
  },
	// postcss-pxtorem配置,可从三个文件中配置，三个文件的权重如下
	// vue.config.js > .postcssrx.js > postcss.config.js
  css: {
    postcss: {
     plugins: [
      require('postcss-pxtorem')({
				/** 
				 * rootValue (Number)
				 * 用于设计稿元素尺寸/rootValue
				 * 比如 rootValue = 37.5 时，在css中width: 375px;
				 * 根元素的值，即1rem的值
				*/
       rootValue: 37.5,
			 /**
				* minPixelValue(Number) 可以被替换的最小像素. 
				*/
       minPixelValue: 2,
			 /**
				* rem单位的小数上限
			  */
			 unitPrecision: 4,
       propList: ['*'],
      })
     ]
   }
  },
 })